Algorithmic Differentiation of Numerical Methods: Tangent-Linear and Adjoint Direct Solvers for Systems of Linear Equations
نویسندگان
چکیده
We consider the Algorithmic Differentiation (also know as Automatic Differentiation; AD) of numerical simulation programs that contain calls to direct solvers for systems of n linear equations. AD of the linear solvers yields a local overhead of O(n) for the computation of directional derivatives or adjoints of the solution vector with respect to the system matrix and right-hand side. The local memory requirement is of the same order in adjoint mode AD. Mathematical insight yields a reduction of the local computational complexity to O(n). The memory overhead can be reduced to at least O(n) in adjoint mode. We derive efficient tangent-linear and adjoint direct linear solvers and illustrate their use within tangent-linear and adjoint versions of the enclosing numerical simulation.
منابع مشابه
Algorithmic Differentiation of Numerical Methods: Tangent-Linear and Adjoint Solvers for Systems of Nonlinear Equations
We discuss software tool support for the Algorithmic Differentiation (also known as Automatic Differentiation; AD) of numerical simulation programs that contain calls to solvers for parameterized systems of n nonlinear equations. The local computational overhead as well as the additional memory requirement for the computation of directional derivatives or adjoints of the solution of the nonline...
متن کاملAlgorithmic Differentiation of Numerical Methods: Second-Order Tangent and Adjoint Solvers for Systems of Parametrized Nonlinear Equations
Forward and reverse modes of algorithmic differentiation (AD) transform implementations of multivariate vector functions F : IR → IR as computer programs into tangent and adjoint code, respectively. The reapplication of the same ideas yields higher derivative code. In particular, second derivatives play an important role in nonlinear programming. Second-order methods based on Newton’s algorithm...
متن کاملFATODE: a library for forward, adjoint and tangent linear integration of stiff systems
The FATODE, which is extracted from the KPP numerical libraray, is a Fortran programming library for the integration of stiff ODE systems. It incorporates a set of generic linear solvers suitable for large sparse systems. And the set allows users to add their own implementation conveniently. FATODE contains three families of methods – fully implicit Runge-Kutta methods, SDIRK methods and Rosenb...
متن کاملForward, Tangent Linear, and Adjoint Runge Kutta Methods in KPP–2.2 for Efficient Chemical Kinetic Simulations
The Kinetic PreProcessor (KPP) is a widely used software environment which generates Fortran90, Fortran77, Matlab, or C code for the simulation of chemical kinetic systems. High computational efficiency is attained by exploiting the sparsity pattern of the Jacobian and Hessian. In this paper we report on the implementation of two new families of stiff numerical integrators in the new version 2....
متن کاملA hybrid method with optimal stability properties for the numerical solution of stiff differential systems
In this paper, we consider the construction of a new class of numerical methods based on the backward differentiation formulas (BDFs) that be equipped by including two off--step points. We represent these methods from general linear methods (GLMs) point of view which provides an easy process to improve their stability properties and implementation in a variable stepsize mode. These superioritie...
متن کامل